Method for detecting saturation of a motion vector field

ABSTRACT

The process is characterized in that it performs:  
     counting of the number of motion vectors, at least one component of which is greater than a predetermined value less than the maximum value,  
     comparision of this number with at least one predetermined threshold,  
     and in that the motion vector field is declared saturating if this number is greater than the predetermined threshold.  
     Applications relate to image interpolation.

[0001] The invention relates to a process and device for detecting saturation of a motion vector field.

[0002] Frame frequency conversion, for example during a conversion of standard, generally calls upon two processes:

[0003] motion estimation which yields a vector field faithful to the spatio-temporal evolution of the objects constituting the scene,

[0004] interpolation which may make use of this vector field to correctly position the objects in an intermediate frame to be constructed.

[0005] Motion-compensated interpolations, applied conventionally in frame frequency conversion, are not always suitable for all the situations encountered in a video sequence. The motion estimators and the associated interpolators do not support unlimited amplitudes of motion vectors. Constraints of hardware construction or even software constraints require that maximum operating values be fixed. Beyond these values, the procedures give rise to malfunctions.

[0006] The problem is therefore to evaluate the degree of confidence that can be accorded to a motion vector field in order to obtain interpolated images of good quality. Taking account merely, for such an evaluation, of the number of motion vectors of the vector field, whose level corresponds to the saturation threshold, is not sufficient. It does not make it possible to obtain interpolated images of good quality in numerous configurations, for example during large motions of objects of small dimension in the image.

[0007] The aim of the invention is to alleviate the aforesaid drawbacks.

[0008] Its subject is a process for detecting saturation of a motion vector field relating to an image at the instant t, characterized in that it comprises the steps of:

[0009] counting a number of motion vectors, at least one component of which is greater than a predetermined value less than the maximum value,

[0010] comparing this number with at least one predetermined threshold,

[0011] and in that the motion vector field is declared saturating if this number is greater than the predetermined threshold.

[0012] According to a particular characteristic, it comprises an additional step of chopping the image into subimages m, the counting being performed for each subimage m so as to yield a number Nb_sat(m,t), the comparison being performed for each of the subimages and the field being declared saturating if this number is greater than the predetermined threshold for at least one of the subimages.

[0013] According to a particular characteristic, the field is declared saturating if at least one of the subimages possesses a number of vectors which is greater than a first threshold and the field is declared nonsaturating if the set of subimages possesses a number of vectors Nb_sat(m,t) which is less than a second predetermined threshold.

[0014] The invention also relates to a process for interpolating an image sequence implementing a first type of interpolation on the basis of motion vectors and a second type of interpolation disregarding the motion vectors, characterized in that, if the motion vector field of the current image is declared nonsaturating, the first type of interpolation is implemented, in that, if the motion vector field of the current image is declared saturating, the second type of interpolation is implemented, in that, if the motion vector field is not declared saturating or nonsaturating, the same type of interpolation as for the previous image is implemented.

[0015] The invention also relates to a device for image interpolation comprising a motion estimation circuit providing a motion vector field, a first circuit for temporal interpolation as a function of the motion vector field and a second circuit for non-motion-compensated temporal interpolation, characterized in that it also comprises a motion field saturation detection circuit receiving the motion vector field and implementing the process for detecting saturation and switching the output of the first interpolator or of the second interpolator over to the output of the device according to whether the circuit detects a nonsaturating or saturating field respectively.

[0016] The process formulates a confidence parameter which can be associated with a previously estimated motion vector field. This parameter is global to the frame and allows a particular mode of use of the motion field. For example in frequency conversion, when this confidence is zero for the motion vector field, the motion-compensated interpolation is avoided. The value of this parameter can thus control a more suitable interpolation configuration.

[0017] The characteristics and advantages of the present invention will become better apparent from the following description which is given by way of example and with reference to FIG. 1 which represents an interpolation device implementing the process according to the invention.

[0018] In a known manner, a motion vector field is previously estimated for each of the images of an image sequence. This field originally comprises two components along the horizontal axis and the vertical axis. It is the horizontal component which is chosen here as being the most representative of the motion on a screen. The eye is more sensitive to horizontal movement and the horizontal dimension of the screen is generally larger, in particular when dealing with a 16/9 display. It is however entirely conceivable to argue on the basis of two types of detectors, one associated with the horizontal component, the other with the vertical component and to combine their results, for example by prohibiting the application of motion-compensated interpolation if at least one of the two saturation detectors is triggered.

[0019] The motion vector fields are estimated on the basis of motion estimation algorithms and the range of motion estimation is generally dependent on the computational capabilities brought into play, computational times tolerated, accuracies desired, etc. Stated otherwise, maximum amplitudes of motion vectors, which are generally much smaller than the dimensions of the image, are imposed. This involves saturation thresholds, and for each component, maximum values which can be taken by the components of the motion vectors. The motion estimation and the application situated downstream thereof are therefore assumed to operationally support these maximum values of motion vector which are handled.

[0020] The process according to the invention is based on the counting of vectors exceeding a detection threshold below the saturation threshold which corresponds to this maximum operational amplitude. If the number of vectors counted exceeds a certain threshold, the vector field is declared saturating.

[0021] By choosing a margin with respect to the maximum levels permitted for the motion vectors, in order to declare that the motion vector field is saturating, it is possible to improve the reliability of the detector and hence the confidence level of the detection. This is especially true for motion estimators utilizing algorithms whose initialization is performed on the basis of values emanating from the spatial or temporal environment of the pixel, for example motion estimators of recursive type.

[0022] This may involve block matching motion estimators, whose search window can be defined by recursivity, it may also involve motion estimators of recursive PEL type.

[0023] If such an environment corresponds to a saturating and hence false vector, there is a high probability that the algorithm will yield, by performing its iterations from a false value, a vector neighbouring the saturating vector. This vector is also false although not saturating.

[0024] It is in fact a matter of doing away with the oscillations about the maximum values permitted by the system, oscillations due to the fact that the algorithm generally fixes computational limits about these initial values.

[0025] In an exemplary embodiment, the system operationally supports amplitudes of the horizontal component of vectors ranging from −32 to +31. The integer part of the horizontal component, in which one is interested, if therefore coded on 5 bits.

[0026] The saturation detection threshold is situated for example at −28 and +28, that is to say plainly below these maxima. The values close to −32 and +31 are regarded as unreliable values since they are close to saturation and the detection system is based on counting up the number of vectors lying in these zones of values, that is to say from −28 to −32 and from +28 to +31.

[0027] According to another characteristic of the invention, the motion vector field of the image is partitioned into subimages of vectors of equal size. The image is partitioned into subimages and it is the vector fields relating to each subimage which are considered, these fields being referred to as vector subimages.

[0028] In an exemplary embodiment, eight subimages have been adopted, division by two on the vertical axis and division by four on the horizontal axis.

[0029] For each subimage of vectors, a histogram is compiled: HISTO[m, n, t] where m is the subimage, n the amplitude of the motion vector for the horizontal component and t the current frame instant. HISTO[m, n, t] therefore represents the number of samples or pixels, in subimage m of frame or image T(t), whose horizontal component has the value n.

[0030] The number of subimages will be called M and the maximum operational amplitude supported by the system will be called N.

[0031] To compile these histograms, each subimage m is traversed individually. The accuracy adopted for the vectors, determining the number of elements of the histograms, is directly related to the fineness of detection. In experimentation, an accuracy of a pixel distance was retained, corresponding to a distance of Wx/720 for a screen width Wx, a line consisting of 720 pixels.

[0032] for each subimage histogram, the vectors whose amplitude overshoots a certain so-called detection threshold, which is different from the saturation threshold, are counted up. This detection threshold called S_Sat is the same for all histograms.

[0033] The amplitude overshoots are counted up for each subimage m in the following way: ${{Nb\_ Sat}\left( {m,t} \right)} = {{\sum\limits_{n = {- N}}^{n = {- {S\_ Sat}}}\quad {{Histo}\left( {m,n,t} \right)}} + {\sum\limits_{n = {+ {S\_ Sat}}}^{n = {+ {({N - 1})}}}{{Histo}\left( {m,n,t} \right)}}}$

[0034] On the basis of the M countings of overshoot Nb_Sat (m, t), a test is carried out to formulate a global saturation variable Sat_Glob(t), which variable makes it possible to define the motion vector field attached to the frame or image T(t) as saturating or nonsaturating field.

[0035] This variable Sat_Glob(t) is in fact a confidence parameter which will apprise of the relevance of the motion field in terms of overshoot of permitted amplitude. If the vector field contains too large a concentration of vectors of amplitude greater than a certain threshold, then the system switches to saturated mode causing a specific behaviour of the application situated downstream.

[0036] It is actually the vector field of the complete image which is or is not declared saturated, since choosing a type of processing based on subimage would create defects perceptible to the eye. The choice of an interpolation specific to an image zone corresponding to a subimage would be too visible to the eye.

[0037] This variable Sat_Glob(t) is formulated from two thresholds which make it possible to put in place a temporal hysteresis. The higher threshold Sat_Compt_H is used to go to saturated mode (Sat_Glob (t)=1) whereas the low threshold Sat_Compt_B serves for the drop to nonsaturated mode (Sat_Glob (t)=0).

[0038] The switching conditions are as follows

[0039] If Nb_Sat(m,t)≧Sat_Compt_H for at least one subimage m,

[0040] then Sat_Glob (t)=1

[0041] The motion vector field is declared saturated.

[0042] If Nb_Sat(m,t)≦Sat_Compt_B irrespective of m, that is to say for all the subimages,

[0043] then Sat_Glob (t)=0

[0044] The motion vector field is declared nonsaturated.

[0045] If neither of these two conditions is satisfied

[0046] then Sat_Glob (t)=Sat_Glob (t−1)

[0047] The motion vector field retains its previous status, that assigned to the motion vector field of the previous frame or image T(t−1).

[0048] For the frame frequency conversion application from which this process stems and for which N, maximum operational amplitude, is equal to 32, the following threshold values have been adopted:

[0049] S_Sat=28

[0050] Sat_Compt_H=⅓ of the number of pixels in the subimage

[0051] Sat_Compt_B=⅕ of the number of pixels in the subimage

[0052] For safety the variable Sat_Glob(t) is initialized to 0 on system startup.

[0053] The detection criteria and the thresholds given as an example have been optimized for the frame frequency conversion application. For other applications and depending on the role which this parameter will have to play, new thresholds will be adopted.

[0054] By separately considering each vector subimage instead of the global vector field of the complete image it is possible to improve the sensitivity to local phenomena. The eye is actually sensitive to defects, even point-like defects, for example on an object corresponding to a small zone of the image, moving very rapidly in the image. A global analysis of the image would not allow easy detection of these local overshoots of amplitude. Thus, by chopping into subimages it is possible to take account of isolated overshoot phenomena. However, the dimension of these subimages must remain big enough for the numbering which is carried out to remain robust.

[0055] The detection of saturation in a vector field makes it possible to safeguard the systems against malfunctions due to overshoots of the amplitude which is tolerated by them. The variable formulated is a parameter moreover associated with the vector field and which can be utilized by the motion compensation application situated downstream.

[0056] The hysteresis installed constitutes of itself a temporal filter of the saturation information, the temporal switchings are lasting. Overly frequent switchings are avoided making it possible to limit the defects of continuity in the image sequence.

[0057] In a frame tempo conversion application, untimely or short-duration switchings are indeed undesirable since ultimately they are highly visible relative to lasting switchings.

[0058] This process although tailored within a frame tempo interpolation context can also be associated with other confidence criteria for other types of processing. The detection thresholds can be adapted to each system as a function of its abilities and as a function of the processing to be protected.

[0059] Without departing from the realm of the invention, it is also possible to utilize subimages of different size, each threshold for subimage then being corrected of a coefficient dependent on the ratio of the number of pixels in a subimage to the number of pixels in the global image.

[0060] It is also possible to modulate the sensitivity of detection as a function of the geographical position of the subimages by choosing a different detection threshold for certain subimages or by choosing thresholds relating to the number of vectors counted Nb_Sat(m, t) which are different for certain subimages. It is thus possible to improve the detection for example for the subimages at the centre of the screen, the viewer being more sensitive to defects in respect of these subimages. In fact, a threshold value can be assigned to each subimage according to the sensitivity that one wishes to allocate to it.

[0061] The invention also relates to an interpolation device implementing the process described above.

[0062]FIG. 1 represents such a device. The images at the input of the device are sent to a motion estimator 1 which provides a motion vector field. The images at the output of the motion estimator are sent in parallel to a first circuit 2 for interpolation on the basis of motion information, for example a first circuit for motion-compensated interpolation and a second interpolation circuit 3 which disregards the motion vector information, for example a circuit for non-motion-compensated temporal interpolation. The motion vector fields at the output of the motion estimator are sent in parallel to the interpolation circuit 2 so that it can carry out the motion-compensated interpolations and to a vector field saturation detection circuit 4 which utilizes the process described above. The saturation information originating from this saturation detection circuit controls the output of the device:

[0063] if this information indicates that the motion vector field is a saturating field, the circuit forces the output of the device onto the output of the second interpolation circuit 3.

[0064] if the information indicates that the motion vector field is a nonsaturating field, the circuit forces the output of the device onto the output of the first interpolation circuit 2.

[0065] if the information originating from this detection circuit gives no indication as to the quality of the motion vector field, that is to say if the variable Sat_Glob(t) lies in the hysteresis range, the output of the device remains connected to the same interpolation circuit as for the previous image.

[0066] Thus, depending on the saturation information for the motion vector field, the interpolation is a motion-compensated interpolation or a non-motion-compensated temporal interpolation. 

1 Process for detecting saturation of a motion vector field relating to an image at the instant t, characterized in that it comprises the steps of: counting a number of motion vectors, at least one component of which is greater than a predetermined value less than the maximum value, comparing this number with at least one predetermined threshold, and in that the motion vector field is declared saturating if this number is greater than the predetermined threshold. 2 Process according to claim 1, characterized in that it comprises an additional step of chopping the image into subimages m, in that the counting is performed for each subimage m so as to yield a number Nb_sat(m,t), in that the comparison is performed for each of the subimages and in that the field is declared saturating if this number is greater than the predetermined threshold for at least one of the subimages. 3 Process according to claim 2, characterized in that the predetermined value is smaller for the subimages for which better sensitivity of detection is desired. 4 Process according to claim 2, characterized in that the predetermined threshold is smaller for the subimages for which better sensitivity of detection is desired. 5 Process according to claim 2, characterized in that the field is declared saturating if at least one of the subimages possesses a number of vectors which is greater than a first threshold and in that the field is declared nonsaturating if the set of subimages possesses a number of vectors Nb_sat(m,t) which is less than a second predetermined threshold. 6 Process according to claim 5, characterized in that the first threshold is greater than the second threshold by a value determined so as to create a hysteresis. 7 Process for interpolating an image sequence implementing a first type of interpolation on the basis of motion vectors (2) and a second type of interpolation disregarding the motion vectors (3), characterized in that, if the motion vector field of the current image is declared nonsaturating (4) according to the process of claim 6, the first type of interpolation is implemented, in that, if the motion vector field of the current image is declared saturating (4) according to the process of claim 6, the second type of interpolation is implemented, in that, if the motion vector field is not declared saturating or nonsaturating, the same type of interpolation as for the previous image is implemented. 8 Device for image interpolation comprising a motion estimation circuit (1) providing a motion vector field, a first circuit for temporal interpolation (2) as a function of the motion vector field and a second circuit for non-motion-compensated temporal interpolation (3), characterized in that it also comprises a motion field saturation detection circuit (4) receiving the motion vector field and implementing the process of claim 3 and switching the output of the first interpolator (2) or of the second interpolator (3) over to the output of the device according to whether the circuit detects a nonsaturating or saturating field respectively. 